package com.sybil.ot.dao;

import com.sybil.ot.dominio.Equipo;
import com.sybil.ot.dominio.TipoEquipo;
import java.util.List;
import org.hibernate.Criteria;
import org.hibernate.criterion.Order;
import org.hibernate.criterion.Restrictions;
import org.springframework.stereotype.Repository;

@Repository("equipoDAO")
public class EquipoDAO extends AbstractDAO<Equipo, String> {

   public EquipoDAO() {
      super(Equipo.class);
   }

   public List<Equipo> obtenerEquipos() {
      return obtener();
   }

   public Equipo obtenerEquipo(String clave) {
      return obtener(clave);
   }

   public List<Equipo> obtenerPorTipo(String claveTipo) {
      Criteria c = sesionActual().createCriteria(Equipo.class);
      c.add(Restrictions.eq("tipoEquipo", new TipoEquipo(claveTipo)))
              .add(Restrictions.eq("activo", "S"))
              .addOrder(Order.asc("numeroEconomico"))
              .addOrder(Order.asc("descripcion"));
      return c.list();
   }
}
